Generally described, computing devices and communication networks can be utilized to exchange information. In a common application, a computing device can request content from another computing device via the communication network. For example, a user at a personal computing device can utilize a software browser application, typically referred to as a browser software application, to request a Web page from a server computing device via the Internet. In such embodiments, the user computing device can be referred to as a client computing device and the server computing device can be referred to as a content provider.
With reference to an illustrative example, a requested Web page, or original content, may be associated with a number of additional resources, such as images or videos, that are to be displayed with the Web page. In one specific embodiment, the additional resources of the Web page are identified by a number of embedded resource identifiers, such as uniform resource locators (“URLs”). In turn, software on the client computing devices, such as a browser software application, typically processes embedded resource identifiers to generate requests for the content. Accordingly, in order to satisfy a content request, one or more content providers will generally provide client computing devices data associated with the Web page as well as the data associated with the embedded resources.
From the perspective of a user utilizing a client computing device, a user experience can be defined in terms of the performance and latencies associated with obtaining network content over a communication network, such as obtaining a Web page, processing embedded resource identifiers, generating requests to obtain embedded resources, and rendering content on the client computing device. Latencies and performance limitations of any of the above processes may diminish the user experience. Additionally, latencies and inefficiencies may be especially apparent on computing devices with limited resources, such as processing power, memory or network connectivity such as netbooks, tablets, smartphones, and the like.
In some situations, web browsing involves the user selecting a web page and then visiting a number of links to other web pages. Sometimes the user is following the links to obtain additional information regarding a topic of the original web page, and other time the user is just looking for interesting content. Until the user selects a link to another web page, the user may not know exactly what type of content will be present on the other web page. For example, the user may be frustrated if the user clicks on a link expecting to view a web page with content of interest but instead is presented with a web page full of advertisements and/or content that user is not interested in.